﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Cotizav.PRESENTACION.Reporte.Parametros.Cotizacion
{
    public partial class Rep_CotizacionxCliente : UserControl
    {

        private CtrlCotizacion ctCotizacion;

        public Rep_CotizacionxCliente()
        {
            InitializeComponent();

            ctCotizacion = new CtrlCotizacion();
        }

        private void btnBuscar_Click(object sender, EventArgs e)
        {
            string idCliente = chkNombreCliente.Checked ? txtcliente.Tag != null ? txtcliente.Tag.ToString() : null : null;
            string codigo = chkCodigo.Checked ? txtCodigo.Text : null;
            bool mostrarDetalle = chkMostrarDetalle.Checked ? true: false;

            char? tipoCotizacion = null;
            DateTime? fechaDesde = null;
            DateTime? fechaHasta = null;

            if (chkFechaCotizacion.Checked)
            {
                if (!string.IsNullOrWhiteSpace(txtFechaDesde.Text))
                {
                    fechaDesde = Convert.ToDateTime(txtFechaDesde.Text);
                }

                if (!string.IsNullOrWhiteSpace(txtFechaHasta.Text))
                {
                    fechaHasta = Convert.ToDateTime(txtFechaHasta.Text);
                }
            }

            if (chkTipoCotizacion.Checked)
            {
                if (cmbTipoCotizacion.SelectedItem != null)
                {
                    if (cmbTipoCotizacion.SelectedItem.ToString() == "Alquiler")
                    {
                        tipoCotizacion = 'A';
                    }
                    else if (cmbTipoCotizacion.SelectedItem.ToString() == "Venta")
                    {
                        tipoCotizacion = 'V';
                    }
                }
            }

            DataTable result = ctCotizacion.getListCotizacionxClientes(idCliente, codigo, tipoCotizacion, fechaDesde, fechaHasta,mostrarDetalle);

            IUReporte iurep = this.ParentForm as IUReporte;
            iurep.showCotizacionxCliente("Cotizacion", result, mostrarDetalle);
        }

        private void chkNombreCliente_CheckedChanged(object sender, EventArgs e)
        {
            if(chkNombreCliente.Checked)
            {
                btnBuscarCliente.Enabled = true;
            }
            else
            {
                btnBuscarCliente.Enabled = false;
            }
        }

        private void chkFechaCotizacion_CheckedChanged(object sender, EventArgs e)
        {
            if (chkFechaCotizacion.Checked)
            {
                txtFechaDesde.Enabled = true;
                txtFechaHasta.Enabled = true;
            }
            else
            {
                txtFechaDesde.Enabled = false;
                txtFechaHasta.Enabled = false;
            }
        }

        private void chkTipoCotizacion_CheckedChanged(object sender, EventArgs e)
        {
            if (chkTipoCotizacion.Checked)
            {
                cmbTipoCotizacion.Enabled = true;
            }
            else
            {
                cmbTipoCotizacion.Enabled = false;
            }
        }

        private void chkCodigo_CheckedChanged(object sender, EventArgs e)
        {
            if (chkCodigo.Checked)
            {
                txtCodigo.Enabled = true;
            }
            else
            {
                txtCodigo.Enabled = false;
            }
        }
    }
}
